Distinguishing portions of output from multiple hosts

ABSTRACT

An apparatus includes a receiving unit operable to receive a plurality of outputs from a plurality of hosts, a comparing unit operable to compare the plurality of outputs, and a display processing unit operable to generate a display in which portions of the plurality of outputs are distinguished based on a comparison result of the comparing unit.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of virtualizedcomputing, and more particularly to distinguishing portions of outputgenerated by multiple hosts.

With the development of virtualization technology and computerparallelization, results of a command executed on multiple hosts must beverified. It is possible to issue commands to the multiple hosts, suchas by utilizing scripting. However, it is time-consuming and expensiveto compare and verify the outputs from all of the hosts executing thecommands, especially when there is a large number of hosts.

SUMMARY

A first aspect of the present invention may include an apparatuscomprising a receiving unit, a comparing unit, and a display processingunit. The receiving unit is operable to receive a plurality of outputsfrom a plurality of hosts. The comparing unit is operable to compare theplurality of outputs. The display processing unit is operable togenerate a display in which portions of the plurality of outputs aredistinguished based on a comparison result of the comparing unit.

A second aspect of the present invention may include acomputer-implemented method performed by the apparatus of the firstaspect. A third aspect of the invention may include a computer programproduct comprising a non-transitory computer readable storage mediumhaving program instructions embodied therewith, the program instructionsexecutable by a computer to cause the computer to perform the method ofthe second aspect.

In a third aspect of the present invention, a method, a computer programproduct, and a system for generating a comprehensive user interface forsimultaneous access to multiple computers includes: issuing a firstcommand to a set of computers, receiving a set of outputs correspondingto replies by the set of computers to the first command, assigning ascore to each output of the set of outputs by comparing the each outputwith remaining outputs in the set of outputs, generating a first displayin a first view area for the set of outputs based on the score, andgenerating a second display in a second view area for an individualoutput in the set of the outputs based on the score. The score is basedon a calculated degree of difference for each portion in each output ofthe set of outputs.

The summary clause does not necessarily describe all necessary featuresof the embodiments of the present invention. The present invention mayalso be a sub-combination of the features described above. The above andother features and advantages of the present invention will become moreapparent from the following detailed description taken in conjunctionwith the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic view of a first embodiment of a system accordingto the present invention;

FIG. 2 is a flowchart of a first embodiment method according to thepresent invention;

FIG. 3A-3D are first screenshot views showing information that isgenerated by and/or helpful in understanding embodiments of the presentinvention;

FIG. 4 is a flowchart of a second embodiment method according to thepresent invention;

FIG. 5 is a table showing information that is generated by and/orhelpful in understanding embodiments of the present invention;

FIG. 6 is a flowchart of a third embodiment method according to thepresent invention;

FIG. 7 is a flowchart of a fourth embodiment method according to thepresent invention;

FIG. 8 is a second screenshot view showing information that is generatedby and/or helpful in understanding embodiments of the present invention;

FIG. 9A is a third screenshot view showing information that is generatedby and/or helpful in understanding embodiments of the present invention;

FIG. 9B is a fourth screenshot view showing information that isgenerated by and/or helpful in understanding embodiments of the presentinvention;

FIG. 10 is a fifth screenshot view showing information that is generatedby and/or helpful in understanding embodiments of the present invention;

FIG. 11 is a sixth screenshot view showing information that is generatedby and/or helpful in understanding embodiments of the present invention;

FIG. 12 is a seventh screenshot view showing information that isgenerated by and/or helpful in understanding embodiments of the presentinvention;

FIG. 13 is an eighth screenshot view showing information that isgenerated by and/or helpful in understanding embodiments of the presentinvention;

FIG. 14A is a ninth screenshot view showing information that isgenerated by and/or helpful in understanding embodiments of the presentinvention;

FIG. 14B is a tenth screenshot view showing information that isgenerated by and/or helpful in understanding embodiments of the presentinvention; and

FIG. 15 is a schematic view of a second embodiment system according tothe present invention.

DETAILED DESCRIPTION

Hereinafter, example embodiments of the present invention will bedescribed. The example embodiments shall not limit the claims, and thecombinations of features described in the example embodiments are notnecessarily essential to the invention. Advantages and/or effectsdescribed in a given example embodiment are not necessarily required inthe other embodiments.

Referring to FIG. 1, Computer system 100 includes computing device 10that compares the output received from each host of a plurality of hosts20 executing the same command or commands, and generates a display inwhich portions of the plurality of outputs are distinguished based on acomparison result, a weighting method, a calculation of degrees ofdifference, etc. Computing device 10 comprises receiving unit 110,comparing unit 150, display processing 160, arranging unit 170, inputunit 180, feeding unit 190, and monitor 200.

The receiving unit 110 is connected to a plurality of hosts 20 throughwires or wirelessly, and receives an output from each host of theplurality of hosts 20, which may be computers, servers, virtualmachines, etc., in any combination. The outputs may be console outputs,outputs from command line interpreters, real and/or emulated hardware,firmware, and/or software, such as Operating Systems (OSs),applications, and/or other programs. The receiving unit 110 may receivethe outputs from the plurality of hosts 20. The receiving unit 110 maydirectly or indirectly connect to the comparing unit 150 and provide thecomparing unit 150 with the received outputs. The receiving unit 110 canbe a modem, a LAN interface, a wireless LAN interface, or any otherwired or wireless communication interface.

The comparing unit 150 may compare the plurality of outputs. Forexample, the comparing unit 150 may calculate a degree of difference foreach portion of each output. The comparing unit 150 may directly orindirectly connect to the display processing unit 160 and provide thedisplay processing unit 160 with the result of the comparison. Thecomparing unit 150 may be a circuit, a shared or dedicated computerreadable medium storing computer readable program instructions executedby a shared or dedicated processor, etc.

The display processing unit 160 may generate a view area including adisplay in which portions of the plurality of outputs are distinguishedbased on a comparison result of the comparing unit 150. For example, thedisplay processing unit 160 may generate a display in which an identicalportion is distinguished from a non-identical portion of the pluralityof outputs based on the comparison result of the comparing unit. Thedisplay processing unit 160 may generate a display of an identicalportion and/or a non-identical portion of each of the plurality ofoutputs in separate views. The display processing unit 160 may generateseparate view areas including the display of the plurality of outputs,where each view area corresponds to a window, a tab, or any otherdelineation of area in an operating system.

The display processing unit 160 may generate an overall view area thatmay include a display of a portion of the plurality of outputs that isemphasized. The display of the non-identical portion may indicatedifferences of the plurality of outputs by overlaying text in thenon-identical portion of the plurality of outputs. The display of theemphasized portion may indicate non-uniform degrees of difference amongcorresponding portions of each output. Differences in text amongcorresponding portions of each output may be overlaid in the display ofthe emphasized portion of the plurality of outputs. The overall viewarea may correspond to one window, tab, or any other delineation of areain an operating system.

The overall view area may further include a display of a portion of theplurality of outputs that is de-emphasized. The display of the identicalportion may indicate that the plurality of outputs are substantially thesame. The display processing unit 160 may generate a common view of anidentical portion of the plurality of outputs, which contains thedistinguishable display of the identical portion. The display of thede-emphasized portion may indicate uniform degrees of difference amongcorresponding portions of each output. Differences in text amongcorresponding portions of each output may be overlaid in the display ofthe portion of the plurality of outputs. Details of a display that maybe generated by the display processing unit 160 are explained below. Thedisplay processing unit 160 may directly or indirectly connect tomonitor 200, and provide the monitor 200 with the generated view area.The display processing unit 160 may be a circuit, a shared or dedicatedcomputer readable medium storing computer readable program instructionsexecutable by a shared or dedicated processor, etc. In some embodiments,the shared computer readable medium and/or shared processor of a displayprocessing unit may be the same as the shared computer readable mediumand/or processor of a comparing unit.

The arranging unit 170 may receive a selection of a subset of outputsfrom the plurality of outputs from a user and arranges a subset viewarea for displaying the subset of the plurality of outputs in whichportions of the plurality of outputs are distinguished. The arrangingunit 170 may directly or indirectly connect to the display processingunit 160, and provide the subset view area to the display processingunit 160. In response, the display processing unit 160 may generate thesubset view area including a display of the identical portion and/or thenon-identical portion of the subset of the plurality of outputs, in thesubset view area. In response, the display processing unit 160 maygenerate the subset view area including a display of the subset of theplurality of outputs in which individual portions of the plurality ofoutputs may be emphasized or de-emphasized. In other embodiments, anarranging unit may arrange a subset view area for displaying anidentical portion and/or a non-identical portion of a subset of theplurality of outputs, wherein the subset of the plurality of hosts isselected by a user through an input unit, such as a mouse, keyboard,etc. The arranging unit 160 may be a circuit, a shared or dedicatedcomputer readable medium storing computer readable program instructionsexecutable by a shared or dedicated processor, etc. In some embodiments,the shared computer readable medium and/or shared processor of anarranging unit may be the same as the shared computer readable mediumand/or processor of a comparing unit and/or a display processing unit.

The command input unit 180 may input text received from a user throughan input unit, such as a mouse, keyboard, etc. The text may be inputthrough an overall view area or a single view area. The command inputunit 180 may provide a command that the user inputs in the overall viewarea. The command input unit 180 may directly or indirectly connect tothe feeding unit 190, and provide the text to the feeding unit 190. Thecommand input unit 160 may be a circuit, a shared or dedicated computerreadable medium storing computer readable program instructionsexecutable by a shared or dedicated processor, etc. In some embodiments,the shared computer readable medium and/or shared processor of a commandinput unit may be the same as the shared computer readable medium and/orprocessor of a comparing unit, a display processing unit, and/or anarranging unit.

The feeding unit 190 may feed the text from the user to each host of theplurality of the hosts 20. The feeding unit 190 may feed the commandthat the user inputs through the command input unit 180 to each host ofthe plurality of the hosts 20, may feed the command to a subset of theplurality of hosts 20, such as the hosts 20 associated with the outputsin the subset selected by the user through the arranging unit 170, ormay feed the command to a single host. The feeding unit 190 may directlyor indirectly connect to the plurality of hosts 20. The feeding unit 190may feed the command to the plurality of hosts 20 simultaneously, andthe plurality of hosts 20 may execute the command simultaneously, inresponse to receiving the command. The feeding unit 160 may be acircuit, a shared or dedicated computer readable medium storing computerreadable program instructions executable by a shared or dedicatedprocessor, etc. In some embodiments, the shared computer readable mediumand/or shared processor of a feeding unit may be the same as the sharedcomputer readable medium and/or processor of a comparing unit, a displayprocessing unit, an arranging unit, and/or a command input unit.

The monitor 200 may display one or more view areas generated by thedisplay processing unit 160. The monitor 200 may display the overallview area including the display in which portions of the plurality ofoutputs are distinguished. The monitor 200 may be a cathode ray tube(CRT), a liquid crystal display (LCD), a light emitting diode (LED)screen, etc.

By displaying the plurality of outputs in which portions of theplurality of outputs are distinguished, a user may recognize a host ofinterest or a deviant portion of the output of a specific host.

FIG. 2 shows a flowchart for process 200 according to an embodiment ofthe invention. In this embodiment, a computing device, such as computingdevice 10 of FIG. 1, performs a method comprising S210-S290.

At S210, a receiving unit, such as the receiving unit 110 of FIG. 1, mayreceive a plurality of outputs from a plurality of hosts, such as hosts20 of FIG. 1.

FIGS. 3A-D show screenshots 300 a-d respectively with outputs from theplurality of hosts, according to an embodiment of the present invention.FIG. 3A shows screenshot 300 a with the output from one of the pluralityof hosts, “Host 1,” which is a virtual machine. In this embodiment, theoutput of Host 1 indicates that the user had input the commands “echo‘same result’”, “hostname”, and “service myservice start.”, andindicates that “same result”, “host1.dummy.com”, and “Startingmyservice:[OK]” are portions of the output in response to the commands,respectively.

FIG. 3B shows screenshot 300 b with the output from a second host, “Host2”, which is a virtual machine. In this embodiment, the output of Host 2indicates that the user had input the commands “echo ‘same result’”,“hostname”, and “service myservice start”, and indicates that “sameresult”, “host2.dummy.com”, and “Starting myservice:[OK]” are portionsof the output in response to the commands, respectively.

FIG. 3C shows screenshot 300 c with the output from a third host, “Host3”, which is a virtual machine. In this embodiment, the output of Host 3indicates that the user had input the commands “echo ‘same result’”,“hostname”, and “service myservice start”, and indicates that “sameresult”, “host3.dummy.com”, and “Starting myservice:[OK]” are portionsof the output in response to the commands, respectively.

FIG. 3D shows screenshot 300 d with the output from a fourth host, “Host4”, which is a virtual machine. In this embodiment, the output of Host 4indicates that the user had input the commands “echo ‘same result’”,“hostname”, and “service myservice start”, and indicates that “sameresult”, “host4.dummy.com”, and “Starting myservice:[FAILED]” areportions of the output in response to the commands, respectively.

As shown in FIGS. 3A-3C, the outputs from Hosts 1-3 are almost the same.Only the host number in the “#hostname” portion is different due to thedifference of the identification of the host. Meanwhile, while the“#echo ‘same result’” portion and the “#hostname” portion of the outputfrom Host 4 is almost the same as the other hosts, in that the“#hostname” portion differs only by the host number, but the “#servicemyservice start” portion of the output of Host 4 is different from theother hosts. In particular, while the output of other hosts show “[OK]”in the “#service myservice start” portions, the output of Host 4 shows“[FAILED]” in the “#service myservice start” portion.

At S220, a comparing unit, such as the comparing unit 150 of FIG. 1, maycompare the plurality of outputs. The comparing unit may provide adisplay processing unit, such as the display processing unit 160 of FIG.1, with the result of the comparison.

FIG. 4 shows a detailed flowchart of process 400 comparing n^(th)portions of the outputs, such as S220 in FIG. 2, according to anembodiment of the invention. A comparing unit, such as the comparingunit 150 of FIG. 1, may perform a comparison by executing S422-S434 asshown in FIG. 4.

At S422, the comparing unit sets a variable “h,” indicating a hostnumber, to “1.”

At S424, the comparing unit sets a variable “n” to “1.” The variable “n”indicates the number of portions in an output. For example, “n” may be aparagraph number, a portion number, a line number, a response, acombination of a command and a response, etc.

At S426, the comparing unit calculates a degree of difference for eachportion of each output of the plurality of outputs. The comparing unitmay calculate a degree of difference for the subject portion (i.e.,n^(th) portion) of the subject output (i.e., h^(th) output), and acorresponding portion (i.e., n^(th) portion) of each of the otheroutputs. In some embodiments, the degree of difference of the subjectportion of the subject output represents an amount of outputs in whichthe corresponding portion is different from the subject portion of thesubject output, and the comparing unit may calculate a degree ofdifference by determining an amount of hosts having an n^(th) portion ofoutput that is different from the n^(th) portion of the subject output.

FIG. 5 shows table 500 with the results of a calculation of degrees ofdifference, such as the calculation performed at S426 of FIG. 4,according to an embodiment of the invention. The table shown in FIG. 5shows the degree of differences of each portion of each output. In thisembodiment, a comparing unit has set a score of difference to “0” foridentical corresponding portions. In other words, nothing is added tothe degree of difference of a subject portion for each correspondingportion of the other outputs that is the same as the subject portion ofthe subject output.

In some embodiments, a comparing unit may ignore a space in portionswhen calculating a degree of difference, and may determine that twocorresponding portions are the same when the corresponding portions areidentical except for the existence of one or more spaces. In otherembodiments, a comparing unit may set a score of difference to a valuebetween 0-1 for corresponding portions that are identical except for theexistence of one or more spaces. In other words, 0.5 is added to thedegree of difference of a subject portion for each corresponding portionof the other outputs that is identical, except for the existence of oneor more spaces, to the subject portion of the subject output.

In the embodiment of FIG. 5, the comparing unit has set the score ofdifference to “1” for non-identical corresponding portions. In otherwords, 1 is added to the degree of difference of a subject portion foreach corresponding portion of the other outputs that is not the same asthe subject portion of the subject output. In this embodiment, thecomparing unit has calculated the sum of the scores of differenceresulting from the comparison of the each portion of each output to eachcorresponding portion of each other output. The sum is the degree ofdifference.

Since the “echo ‘same result’” portion of the output of each of Hosts1-4 is the same, the comparing unit has calculated the degree ofdifference of the “echo ‘same result’” portion for each host to be 0. Indoing so, the comparing unit has determined the score of difference ofthe “echo ‘same result’” portion of the output of Host 1 to be 0 incomparison to the “echo ‘same result’” portion of the output of Host 2,0 in comparison to the “echo ‘same result’” portion of the output ofHost 3, and 0 in comparison to the “echo ‘same result’” portion of theoutput of Host 4. The comparing unit then calculated the degree ofdifference of the “echo ‘same result’” portion of Host 1 to be 0(0+0+0).

Since the “hostname” portion of the output of each of Hosts 1-4 isdifferent, the comparing unit has calculated the degree of difference ofthe “hostname” portion for each host to be 3 (1+1+1). In doing so, thecomparing unit has determined the score of difference of the “hostname”portion of the output of Host 1 to be 1 in comparison to the “hostname”portion of the output of Host 2, 1 in comparison to the “hostname”portion of the output of Host 3, and 1 in comparison to the “hostname”portion of the output of Host 4. The comparing unit then calculated thedegree of difference of the “hostname” portion of Host 1 to be 3(1+1+1).

Since the “service myservice start” portion of the output of each ofHosts 1-3 is the same, and the “service myservice start” portion of theoutput of Host 4 is different, the comparing unit has calculated thedegree of difference of the “service myservice start” portion for eachof Hosts 1-3 as 1 (0+0+1), and the degree of difference of the “servicemyservice start” portion for Host 4 as 3 (1+1+1). In doing so, thecomparing unit has determined the score of difference of the “servicemyservice start” portion of the output of Host 1 to be 0 in comparisonto the “service myservice start” portion of the output of Host 2, 0 incomparison to the “service myservice start” portion of the output ofHost 3, and 1 in comparison to the “service myservice start” portion ofthe output of Host 4. The comparing unit then calculated the degree ofdifference of the “service myservice start” portion of Host 1 to be 1(0+0+1).

At S428, the comparing unit determines whether the subject portion isthe last portion of the subject output. For example, if the output ofthe h^(th) host includes 3 portions, then the comparing unit determineswhether the variable “n” is 3. If the subject portion is the lastportion, then the comparing unit moves to S432, and if not, then thecomparing unit moves to S430.

At S430, the comparing unit adds 1 to the variable “n.”

At S432, the comparing unit determines whether the subject output is thelast output. For example, if there are 4 hosts, then the comparing unitdetermines whether the variable “h” is 4. If the subject output is thelast output, then the comparing unit ends comparing n^(th) portions ofthe outputs, and if not, then the comparing unit moves to S434.

At S434, the comparing unit adds 1 to the variable “h.” In someembodiments, after comparing n^(th) portions of the outputs, thecomparing unit moves to generating a view area including a display ofthe outputs, such as S230 in FIG. 2.

At S230, a display processing unit, such as the display processing unit160 in FIG. 1, may generate an overall view area including a display ofthe plurality of outputs in which individual portions of the pluralityof outputs may be emphasized or de-emphasized based on the degrees ofdifference calculated at 8120. In other embodiments, the displayprocessing unit may generate a display of an identical portion and/or anon-identical portion of the plurality of outputs in an overall viewarea.

FIG. 6 shows a detailed flowchart of process 600 generating an overallview area including a display of the outputs, such as S230 in FIG. 2,according to an embodiment of the invention. A display processing unit,such as the display processing unit 160 in FIG. 1, may generate theoverall view area including a display of the outputs by executingS642-649 shown in FIG. 6.

At S642, the display processing unit sets variable “n” to “1.”

At S644, the display processing unit determines whether the degrees ofdifference of the n^(th) portions of the plurality of outputs are withina predetermined range. For example, the display processing unit maydetermine whether the degrees of difference of the n^(th) portions ofthe output of all of the hosts are the same, or whether the degrees ofdifference are within a predetermined range. In some embodiments, adisplay processing unit may determine whether the standard deviation ofthe degrees of difference of the n^(th) portions of the outputs is lessthan a predetermined value.

When using the degrees of difference from the embodiment of FIG. 5, thedisplay processing unit may find that the degrees of difference of the“echo ‘same result’” portions of the output of Hosts 1-4 are the same.The display processing unit may determine that the range of degrees ofdifference is 0. Assuming a predetermined range of 1, the range iswithin the predetermined range. The display processing unit would findthat the degrees of difference of the “service myservice start” portionsof the output of Hosts 1-4 are not the same. The display processing unitmay determine that the range of degrees of difference is 2. Assuming apredetermined range of 1, the range is not within the predeterminedrange.

If the determination of S644 is positive, then the display processingunit 160 moves to S646, and if negative, then the display processingunit moves to S647.

At S646, the display processing unit generates a display of the n^(th)portions of the outputs that is de-emphasized in the overall view area.Differences in text among the n^(th) portions of the outputs may beoverlaid in the display of the n^(th) portions of the outputs. In someembodiments, the display processing unit may generate a common view ofthe n^(th) portions of the plurality of outputs, within the overall viewarea. The display processing unit may generate the display for thecommon view, by selecting the n^(th) portions of the plurality ofoutputs, and superimposing the selected n^(th) portions of the pluralityof outputs in the overall view area.

At S647, the display processing unit generates a display of the n^(th)portions of the outputs that is emphasized in the overall view area.Differences in text among the n^(th) portions of the outputs may beoverlaid in the display of the n^(th) portions of the outputs.

At S648, the display processing unit determines whether the n^(th)portion is the last portion of the outputs. If the n^(th) portion is thelast portion, then the display processing unit ends generating theoverall view area, and if not, then the display processing unit moves toS649.

At S649, the display processing unit adds 1 to the variable “n.” Thenthe display processing unit moves to S644. After generating the overallview area, the display processing unit generates single view areas, suchas in S240 in FIG. 2.

At S240 in FIG. 2, the display processing unit may generate a pluralityof single view areas, each single view area including a display of anindividual output in which individual portions of the individual outputmay be emphasized or de-emphasized. In other embodiments, the displayprocessing unit may generate a display of an identical portion and/or anon-identical portion of each of the plurality of outputs in each of aplurality of single view areas. In doing so, the display processing unitgenerates a single view area including a display of an individual outputin which individual portions of the individual output may be emphasizedor de-emphasized by assigning display attributes to each portion of theindividual output in the single view area based on the degree ofdifference.

In some embodiments, the display processing unit may deemphasize aportion of an individual output if the degree of difference of theportion is below a threshold, and emphasize the portion if the degree ofdifference of the portion is equal to or larger than the threshold.

FIG. 7 shows a detailed flowchart of process 700 for the generation of aplurality of single view areas, such as S240 in FIG. 2, according to anembodiment of the invention. A display processing unit, such as thedisplay processing unit 160 in FIG. 1, may generate the plurality ofsingle view areas by executing S751-S759 indicated in FIG. 7.

At S751, the display processing unit sets variable “h” to “1.”

At S752, the display processing unit sets variable “n” to “1.”

At S753, the display processing unit determines whether the degree ofdifference of the n^(th) portion of the h^(th) output is below athreshold, and/or the n^(th) portion of the outputs was de-emphasized inthe overall view area. The display processing unit may set the thresholdbased on the number of hosts and/or an average of the degrees ofdifference of the n^(th) portions of the plurality of outputs. In someembodiments, the display processing unit may determine whether thedegree of difference of the n^(th) portion of the h^(th) output is belowhalf of the number of hosts. In other embodiments, the displayprocessing unit may determine whether the degree of difference of then^(th) portion of the h^(th) output is below an average of the degreesof difference of the n^(th) portions of the outputs.

When using the degrees of difference from the embodiment of FIG. 5, thedisplay processing unit may set the threshold to 2, which is half of thenumber of hosts. The display processing unit may then find that degreeof difference of the “service myservice start” portion of the output ofHost 1 is less than 2, which is below the threshold, and that the“service myservice start” portion was de-emphasized in the overall view.Therefore, the determination of S753 with respect to the “servicemyservice start” portion of the output of Host 1 would be positive. Thedisplay processing unit may find that degree of difference of the“hostname” portion of the output of Host 4 is more than 2, which isabove the threshold, and that the “hostname” portion was de-emphasizedin the overall view. Therefore, the determination of S753 with respectto the “hostname” portion of the output of Host 4 would be positive. Thedisplay processing unit may find that the degree of difference of the“service myservice start” portion of the output of Host 4 is more than2, which is not below the threshold, and that the “service myservicestart” portion was emphasized in the overall view. Therefore, thedetermination of S753 with respect to the “service myservice start”portion of the output of Host 4 would be negative.

If the determination of S753 is positive, then the display processingunit moves to S754, and if negative, then the display processing unitmoves to S755.

At S754, the display processing unit generates a display of the n^(th)portion of the output of the h^(th) host that is de-emphasized in thesingle view of the h^(th) host.

At S755, the display processing unit generates a display of the n^(th)portion of the output of the h^(th) host that is emphasized in thesingle view of the h^(th) host. In one embodiment, the displayprocessing unit may emphasize the n^(th) portion of the output of theh^(th) host by assigning display attributes to the n^(th) portion in thesingle view of the h^(th) host.

At S756, the display processing unit determines whether the n^(th)portion is the last portion of the h^(th) host. If it is the lastportion of the h^(th) host, then the display processing unit moves toS758, and if not, then the display processing unit moves to S757.

At S757, the display processing unit adds 1 to the variable “n.” Thenthe display processing unit moves to S753.

At S758, the display processing unit determines whether the h^(th) hostis the last host. If the h^(th) host is the last host, then the displayprocessing unit ends generating the plurality of single view areas, andif not, then the display processing unit moves to S759.

At S759, the display processing unit adds 1 to the variable “h.” Thenthe display processing unit moves to S752. After generating theplurality of single view areas, the display processing unit causes amonitor to display the generated display for the overall view areaand/or the single view area, such as in S250 in FIG. 2.

At S250 in FIG. 2, the display processing unit may cause a monitor, suchas the monitor 200 in FIG. 1, to display the overall view area and/orthe single view area.

FIG. 8 shows a window 840 including an overall view area 860, such asthe overall view area generated at S240 in FIG. 2, according to anembodiment of the invention. Window 840 also includes tab 850, which canbe selected by cursor 830. A display processing unit, such as thedisplay processing unit 160 in FIG. 1, may generate a window comprisingtabs for selecting view areas. In response to a selection of a tab, theview area corresponding to the selected tab is displayed in the windowon the monitor. In FIG. 8, tab 850, which is for the overall view area,has been selected, and the overall view area 860 is displayed in thewindow 840.

A dashed box 810 indicates a common view including a display ofde-emphasized portions of the outputs, and a dashed box 820 indicates anemphasized portion of the outputs. In some embodiments, a displayprocessing unit may cause a monitor to display the text of ade-emphasized portion of the outputs using light characters, smallcharacters, thin characters, or any other characters that blend in withthe background of the window. In other embodiments, a display processingunit may cause a monitor to display the text of a de-emphasized portionof the outputs using normal characters, as long as all emphasizedportions of the outputs are not displayed using normal characters. Thedisplay processing unit may overlay differences in text among thecorresponding portions of individual outputs in the display ofde-emphasized portions of the outputs.

In some embodiments, a display processing unit may cause a monitor todisplay the text of an emphasized portion of the outputs using heavycharacters, large characters, bold characters, or any other charactersthat stand out from the from the background of the window. In addition,the display processing unit 160 may display the non-identical portion byoverlaying text in the non-identical portion of the plurality ofoutputs. Alternatively, the display processing unit may overlaydifferences in text among corresponding portions of individual outputsin the display of emphasized portions of the outputs.

In FIG. 8, the display processing unit has determined that the degreesof difference of the “echo ‘same result’” portion and the “host name”portion of the output of each host are the same, and generates ade-emphasized display in the dashed box 810 for these portions. Thedisplay processing unit has determined that the degrees of difference ofthe “service myservice start” portion of the output of each host are notthe same, and generates an emphasized display in the dashed box 820 forthis portion. The display processing unit has overlaid “FAILED” and “OK”in the “service myservice start” portion, and displays the portion usingbold characters. In response to a user selecting a tab for single viewarea (e.g., “Host 1”) through an input unit, such as a mouse, keyboard,etc., the display processing unit causes the monitor to display the viewarea corresponding to the tab.

FIGS. 9A-B show single view areas, such as areas that may be generatedat S754 in FIG. 7, according to an embodiment of the invention. In FIG.9A, a tab 952 for “Host 1” has been selected by cursor 930, and a singleview area 962 for “Host 1” is displayed in a window 940. A displayprocessing unit, such as the display processing unit 160 in FIG. 1, hasdetermined that each portion of the output of Host 1 either correspondsto a portion that was not emphasized in a corresponding overall view, orhas a degree of difference determined to be below a threshold. Thus, thedisplay processing unit has displayed all of the portions in the singleview area 962 for Host 1 using light characters.

In FIG. 9B, a tab 954 for “Host 4” has been selected by the cursor 930,and a single view area 964 for “Host 4” is displayed in the window 960.The display processing unit has determined that each of the “echo ‘sameresult’” and the “hostname” portions of the output of Host 4 eithercorresponds to a portion that was not emphasized in the overall view, orhas a degree of difference determined to be below the threshold. Thedisplay processing unit has determined that the “service myservicestart” portion of the output of Host 4 both corresponds to a portionthat was emphasized in a corresponding overall view, and has a degree ofdifference that was determined not to be below the threshold. Thus, thedisplay processing unit has displayed the “echo ‘same result’” and the“hostname” portions using light characters, and has displayed the“service myservice start” portion using bold and heavy characters, inthe single view area 964 for Host 4.

At S250 in FIG. 2, the display processing unit may generate a view areaincluding a display of a portion of each output corresponding to aportion of the outputs in an overall view area in response to thecorresponding portion of the outputs in the overall view area beingselected. For example, the display processing unit may generate afollow-up window including a display of the corresponding portion ofeach output.

FIG. 10 shows a follow-up window 1042, according to an embodiment of theinvention. In response to the user hovering a cursor 1030 over a portionin an overall view 1060 in a window 1040 through an input unit such as amouse, a display processing unit, such as the display processing unit160 in FIG. 1, may generate the follow-up window 1042.

In FIG. 10, the display processing unit has generated the follow-upwindow 1042 of the “service myservice start” portion of the outputs. Thefollow-up window 1042 displays the “service myservice start” portions ofthe outputs of Hosts 1-4. The display processing unit may generate adisplay of the “service myservice start” portions of the outputs indescending order of the degree of difference of each portion. In otherembodiments, the display processing unit may generate a display of anon-identical portion by separately showing text in the identicalportion of each of the plurality of outputs in response to thenon-identical portion being selected. The “service myservice start”portion of the output of Host 4 has the largest degree of difference,and is therefore displayed at the top of the follow-up window 1042.

FIG. 11 shows a display generated in response to a user removing a partof a portion of outputs from comparison through an input unit, such as amouse, keyboard, etc., according to an embodiment of the invention. Adisplay processing unit, such as the display processing unit 160 of FIG.1, may specify a part of a portion of outputs that should not besubmitted to a comparison, such as in S220 in FIG. 2. In thisembodiment, the display processing unit receives a designation of a partof a portion of the outputs that should not be compared, from the userthrough the follow-up window 1142. For example, the display processingunit receives designation of a number, a name, a date, a time, etc.,included in a portion of the outputs as the part that should not becompared.

In the embodiment of FIG. 11, the user has designated a numerical part“*” of the “host*.dummy com” portion by selecting the number “1” in the“hostname” portion of the output of Host 1 in the follow-up window 1142using a cursor 1130. In response, the display processing unitencompasses the numerical part “*” of the “host*.dummy com” portion ofthe output of each Host 1-4 in dotted boxes, thereby indicating that thenumerical part “*” of the “host*.dummy com” portion of the outputs isremoved from comparison. In response, the removal is reflected in the“host*.dummy com” portion of the outputs in an overall view area 1160 ina window 1140.

At S260, an arranging unit, such as the arranging unit 170 of FIG. 1,may determine whether corresponding portions of a subset of outputs havebeen selected. For example, the arranging unit receives a selection of asubset of the plurality of outputs from a user. In some embodiments, theuser may select all or some of the outputs of Hosts 1-4 through thefollow-up window 1140 to create the subset of outputs. The arrangingunit may receive the selection of the subset of outputs through thefollow-up window 1140.

FIG. 12 shows a display generated in response to a user selecting asubset of outputs, according to an embodiment of the invention. In someembodiments, the user may specify an area using the cursor 1230 suchthat the specified area includes a plurality of corresponding portionsof the outputs of the hosts. In the embodiment of FIG. 12, the specifiedrange includes corresponding portions of the output of hosts 1-3selected in follow-up window 1242. In response, the arranging unit mayreceive the selection of the subset of hosts 1-3. In response to aselection of a subset of outputs, an arranging unit may arrange a viewarea of the subset, such as in S270 of FIG. 2.

At S270 in FIG. 2, the arranging unit may arrange a subset view area fordisplaying a subset of the plurality of outputs in which individualportions of the plurality of outputs may be emphasized or de-emphasized.The subset of the plurality of outputs may be selected by the user atS270. The display processing unit may generate the subset view area inthe same manner as the generation of the overall view area at S230, butonly including portions of subset of outputs.

FIG. 13 shows a subset view area 1366 according to an embodiment of theinvention. As shown in FIG. 13, a tab 1356 for the subset view area 1366(“Host 1-3” tab) is selected, and the subset view area 1366 is displayedin a window 1340. In this embodiment, the subset view area 1366 for thesubset of Hosts 1-3 includes only a common view because the range ofdegrees of difference of each portion is within a predetermined amount.

At S280, a command input unit, such as the command input unit 180 ofFIG. 1, may determine whether the user has input a command into a viewarea. The command input unit may receive commands that the user inputsinto the overall view area or the subset view area.

FIG. 14A shows a command input by a user in an overall view area 1460 ina window 1440, according to an embodiment of the invention. In theembodiment of FIG. 14A, a display processing unit, such as the displayprocessing unit 160 of FIG. 1, may prompt a user to input a command. Thedisplay processing unit may display “#” to notify the user that acommand can be entered after “#.” The command input unit may provide afeeding unit, such as the feeding unit 190 of FIG. 1, with the commandinput by the user.

At S290, a feeding unit, such as the feeding unit 190 of FIG. 1, mayfeed the command received from the command input unit to a plurality ofhosts. For example, the feeding unit may feed the command that the userinputs through an overall view area or a subset view area, to theplurality of hosts associated with the outputs included in an overallview area or to a subset of the plurality of hosts associated withoutputs included in a subset view area. In response to feeding thecommand, computing device 10 may move to S210.

In some embodiments of the present invention, the display processingunit generates a display of an identical portion and/or a non-identicalportion of each of the plurality of outputs separately.

In some embodiments of the present invention, the display processingunit generates the display of an identical portion and/or anon-identical portion of the plurality of outputs in an overall viewarea, and generates the display of an identical portion and/or anon-identical portion of each of the plurality of outputs in each of aplurality of single view areas.

In some embodiments of the present invention, an arranging unit operatesto arrange a subset view area for displaying an identical portion and/ora non-identical portion of a subset of the plurality of outputs, whereinthe subset of the plurality of hosts is selected through an input unit.

In some embodiments of the present invention, the display processingunit generates a display of a non-identical portion by separatelyshowing text in the identical portion of each of the plurality ofoutputs in response to the non-identical portion being selected.

In some embodiments of the present invention, the comparing unitcalculates a degree of difference for each portion of each of theplurality of outputs, wherein the degree of difference of a subjectportion of a subject output represents an amount of outputs in which acorresponding portion is different from the subject portion of thesubject output, and the display processing unit generates the display inwhich portions of the plurality of outputs are distinguished in anoverall view area based on the degree of difference.

In some embodiments of the present invention, the display processingunit de-emphasizes an identical portion of the plurality of outputsbased on the degree of difference. Further, the display processing unitde-emphasizes a display of corresponding portions of the plurality ofoutputs for which the degrees of difference of the portions of theplurality of outputs are within a predetermined range.

In some embodiments of the present invention, the display processingunit generates a display in which portions of a single output of theplurality of outputs are distinguished in a single view area based onthe comparison result of the comparing unit. Accordingly, the displayprocessing unit deemphasizes a display of a portion of the single outputfor which either the degree of difference of the portion is below athreshold or the degrees of difference of the corresponding portions ofthe plurality of outputs are within a predetermined range, andemphasizes a display of a portion of the single output for which thedegree of difference of the portion is equal to or larger than thethreshold and the degrees of difference of the corresponding portions ofthe plurality of outputs are not within the predetermined range.Further, the display processing unit sets the threshold based on anaverage of the degrees of difference of the corresponding portions ofthe plurality of outputs.

FIG. 14B shows a command input by the user and the response thereof inan overall view area 1460 in a window 1440, according to an embodimentof the invention. The user may input commands in addition to the outputsdisplayed on the overall view area. In the embodiment of FIG. 14B, theuser has input an “echo ‘additional output’” command after the “servicemyservice start” portion. In response, each host of the plurality ofhosts may process the command. A receiving unit, such as the receivingunit 110 of FIG. 1, may receive new outputs in response to theprocessing of the command, a comparing unit, such as the comparing unit150 of FIG. 1, may compare the new outputs, and a display processingunit, such as the display processing unit 160 of FIG. 1, may generate anoverall view area or a subset view area including a display of the newoutputs. As shown in FIG. 14B, the display processing unit has generateda display of the “additional output” portions from the outputs of hosts1-4 using light characters.

In other embodiments, instead of receiving a command through the overallview area or the subset view area, a command input unit may input a text(e.g., a command) from the user through a single view area. The feedingunit 190 may feed the command from the user input through the singleview area to all hosts or a host associated with the output displayed inthe single view area. The hosts that receive the command may process thereceived command, and the receiving unit may receive the output of thecommand from the host(s), the comparing unit may compare the newoutputs, and the display processing unit may update the single view areain a window to reflect the output(s) from the host(s).

In other embodiments, a command input unit may input a command from theuser through a subset view area. The feeding unit 190 may feed thecommand from the user input through the subset view area to hosts in thesubset or all hosts. The hosts that receive the command may process thereceived command, and the receiving unit may receive the output of thecommands from the hosts, the comparing unit may compare the new outputs,and the display processing unit may update the subset view area in awindow to reflect the outputs from the hosts in the subset.

FIG. 15 shows an exemplary configuration of a computer system 1900according to an embodiment of the invention. Computer system 1900according to the present embodiment includes CPU 2000, RAM 2020,graphics controller 2075, and display device 2080 which are mutuallyconnected by host controller 2082. The computer system also includesinput/output units such as communication interface 2030, hard disk drive2040, and DVD-ROM drive 2060, which are connected to the host controllervia input/output controller 2084. The computer system also includeslegacy input/output units such as ROM 2010 and keyboard 2050, which areconnected to the input/output controller through input/output chip 2070.

Host controller 2082 connects RAM 2020 with CPU 2000 and graphicscontroller 2075, which access RAM 2020 at a high transfer rate. CPU 2000operates according to programs stored in ROM 2010 and RAM 2020, therebycontrolling each unit. Graphics controller 2075 obtains image datagenerated by CPU 2000 on a frame buffer or the like provided in RAM2020, and causes the image data to be displayed on the display device.Alternatively, graphics controller 2075 contains therein a frame bufferor the like for storing image data generated by the CPU.

Input/output controller 2084 connects host controller 2082 withcommunication interface 2030, hard disk drive 2040, and DVD-ROM drive2060, which are relatively high-speed input/output units. Thecommunication interface communicates with other electronic devices vianetwork 2100. The hard disk drive stores programs and data used by theCPU within the computer system. DVD-ROM drive 2060 reads the programs orthe data from DVD-ROM 2095, and provides the hard disk drive with theprograms or the data via the RAM.

ROM 2010, keyboard 2050, and input/output chip 2070, which arerelatively low-speed input/output units, are connected to input/outputcontroller 2084. The ROM stores therein a boot program or the likeexecuted by the computer system at the time of activation, a programdepending on the hardware of the computer system. The keyboard inputstext data or commands from a user, and provides the hard disk drive 2040with the text data or the commands via the RAM. The input/output chipconnects the keyboard to input/output controller 2084. In someembodiments of the present invention, the input/output chip connectsvarious input/output units via a parallel port, a serial port, akeyboard port, a mouse port, and the like to input/output controller2084.

A program to be stored on hard disk drive 2040 via RAM 2020 is providedby a recording medium, such as DVD-ROM 2095, and an IC card. The programis read from the recording medium, installed into hard disk drive 2040within the computer system via RAM 2020, and executed in the CPU.

A program that is installed in the computer system and causes thecomputer system to function as a computing device, such as computingdevice 10 of FIG. 1, includes a receiving module, a compare module, adisplay processing module, an arranging module, an input module, and afeeding module. The program or module acts on the CPU, to cause thecomputer system to function as a receiving unit, such as receiving unit110, a comparing unit, such as comparing unit 150, a display processingunit, such as display processing unit 160, an arranging unit, such asarranging unit 170, a command input unit, such as command input unit180, and a feeding unit, such as feeding unit 190.

The information processing described in these programs is read into thecomputer system, to function as a receiving unit, a comparing unit, adisplay processing unit, an arranging unit, an input unit, and a feedingunit, which are the result of cooperation between the program or moduleand the above-mentioned various types of hardware resources. Moreover,the computing device is constituted by realizing the operation orprocessing of information in accordance with the usage of the computersystem.

For example when communication is performed between computer system 1900and an external device, CPU 2000 executes a communication program loadedonto RAM 2020, to instruct communication processing to communicationinterface 2030, based on the processing described in the communicationprogram. The communication interface, under control of the CPU, readsthe transmission data stored on the transmission buffering regionprovided in the recording medium, such as RAM 2020, hard disk drive2040, or DVD-ROM 2095, and transmits the read transmission data to thenetwork, or writes reception data received from the network to areception buffering region or the like provided on the recording medium.In this way, the communication interface may exchangetransmission/reception data with the recording medium by a DMA (directmemory access) method, or by a configuration that the CPU reads the datafrom the recording medium or the communication interface of a transferdestination, to write the data into the communication interface or therecording medium of the transfer destination, so as to transfer thetransmission/reception data.

In some embodiments of the present invention, CPU 2000 causes all or anecessary portion of the file of the database to be read into RAM 2020,such as by DMA transfer, the file or the database having been stored inan external recording medium, such as hard disk drive 2040, DVD-ROMdrive 2060 (DVD-ROM 2095) to perform various types of processing ontothe data on the RAM. In that way, the CPU then writes back the processeddata to the external recording medium by means of a DMA transfer methodor the like. In such processing, the RAM is considered to “temporarilystore” the contents of the external recording medium, accordingly, theRAM, the external recording device, and the like are collectivelyreferred to as a memory, a storage section, a recording medium, and/or acomputer readable medium. Various types of information, such as varioustypes of programs, data, tables, and/or databases, are stored in therecording device, to undergo information processing. Note that CPU 2000may also use a part of RAM 2020 to perform reading/writing thereto onthe cache memory. In such an embodiment, the cache is considered to becontained in the RAM, the memory, and/or the recording medium unlessnoted otherwise, since the cache memory performs part of the function ofthe RAM.

In some embodiments of the present invention, CPU 2000 performs varioustypes of processing, onto the data read from RAM 2020, which includesvarious types of operations, processing of information, conditionjudging, and/or search/replace of information, as described in thepresent embodiment and designated by an instruction sequence ofprograms, and writes the result back to the RAM. For example, whenperforming condition judging, the CPU judges whether each type ofvariable shown in the present embodiment is larger, smaller, no smallerthan, no greater than, or equal to the other variable or constant, andwhen the condition judging results in the affirmative (or in thenegative), the process branches to a different instruction sequence, orcalls a sub routine.

In addition, the CPU may search for information in a file and/or adatabase in the recording medium. For example, when a plurality ofentries, each having an attribute value of a first attribute isassociated with an attribute value of a second attribute, are stored ina recording device, the CPU searches for an entry matching the conditionwhose attribute value of the first attribute is designated, from amongthe plurality of entries stored in the recording medium, and reads theattribute value of the second attribute stored in the entry, therebyobtaining the attribute value of the second attribute associated withthe first attribute satisfying the predetermined condition.

The above-explained program, or module, may be stored in an externalrecording medium. Exemplary recording mediums include DVD-ROM 2095, aswell as an optical recording medium, such as a Blu-ray Disk or a CD, amagneto-optic recording medium, such as a MO, a tape medium, and asemiconductor memory, such as an IC card. (Note: the term(s) “Blu-ray”and/or “Blu-ray Disk” may be subject to trademark rights in variousjurisdictions throughout the world and are used here only in referenceto the products or services properly denominated by the marks to theextent that such trademark rights may exist.) In addition, a recordingmedium, such as a hard disk, or a RAM provided in a server systemconnected to a dedicated communication network, such as network 2100, orthe Internet can be used as a recording medium, thereby providing theprogram to computer system 1900 via network 2100.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

While the embodiment(s) of the present invention has (have) beendescribed, the technical scope of the invention is not limited to theabove described embodiment(s). It is apparent to persons skilled in theart that various alterations and improvements can be added to theabove-described embodiment(s). It is also apparent from the scope of theclaims that the embodiments added with such alterations or improvementscan be included in the technical scope of the invention.

The operations, procedures, steps, and stages of each process performedby an apparatus, system, program, and method shown in the claims,embodiments, or diagrams can be performed in any order as long as theorder is not indicated by “prior to,” “before,” or the like and as longas the output from a previous process is not used in a later process.Even if the process flow is described using phrases such as “first” or“next” in the claims, embodiments, or diagrams, it does not necessarilymean that the process must be performed in this order.

As made clear from the above, the embodiments of the present inventioncan be used to realize a computing device (system), acomputer-implemented method, and a computer program product.

Some helpful definitions follow:

Present invention: should not be taken as an absolute indication thatthe subject matter described by the term “present invention” is coveredby either the claims as they are filed, or by the claims that mayeventually issue after patent prosecution; while the term “presentinvention” is used to help the reader to get a general feel for whichdisclosures herein that are believed as maybe being new, thisunderstanding, as indicated by use of the term “present invention,” istentative and provisional and subject to change over the course ofpatent prosecution as relevant information is developed and as theclaims are potentially amended.

Embodiment: see definition of “present invention” above—similar cautionsapply to the term “embodiment.”

and/or: inclusive or; for example, A, B “and/or” C means that at leastone of A or B or C is true and applicable.

User/subscriber: includes, but is not necessarily limited to, thefollowing: (i) a single individual human; (ii) an artificialintelligence entity with sufficient intelligence to act as a user orsubscriber; and/or (iii) a group of related users or subscribers.

Module/Sub-Module: any set of hardware, firmware and/or software thatoperatively works to do some kind of function, without regard to whetherthe module is: (i) in a single local proximity; (ii) distributed over awide area; (iii) in a single proximity within a larger piece of softwarecode; (iv) located within a single piece of software code; (v) locatedin a single storage device, memory or medium; (vi) mechanicallyconnected; (vii) electrically connected; and/or (viii) connected in datacommunication.

Computer: any device with significant data processing and/or machinereadable instruction reading capabilities including, but not limited to:desktop computers, mainframe computers, laptop computers,field-programmable gate array (FPGA) based devices, smart phones,personal digital assistants (PDAs), body-mounted or inserted computers,embedded device style computers, application-specific integrated circuit(ASIC) based devices.

What is claimed is:
 1. A computer system comprising: a processor(s) set;and a non-transitory computer readable storage medium; wherein: theprocessor set is structured, located, connected, and/or programmed torun program instructions stored on the non-transitory computer readablestorage medium; and the program instructions include: first programinstructions programmed to receive a command, the processing of thecommand generating a character string; second program instructionsprogrammed to issue to each computer in a set of computers the commandfor independent processing of the command by each computer; thirdprogram instructions programmed to receive, from the set of computers, aset of character strings responsive to the command; fourth programinstructions programmed to assign a similarity score to each characterstring, the similarity score representing a relative similarity of thecharacter strings in the set of character strings, each similarity scorebeing determined by: comparing a scoring character string to each othercharacter string in the set of character strings, wherein the scoringcharacter string and the other character string are generated responsiveto the command; and incrementing in a uniform manner the similarityscore for the scoring character string for each other character stringthat is different than the scoring character string; fifth programinstructions programmed to generate a first display of the first commandand identifiers of the set of computers, the display including theassigned similarity scores of each character string received from theset of computers; and sixth program instructions programmed to generatea second display by overlaying each character string in the set ofcharacter strings.
 2. The computer system of claim 1, wherein theprogram instructions further include: seventh program instructionsprogrammed to input the command as a text string through an overall viewarea; and eighth program instructions programmed to feed the text stringto each computer in the set of computers.
 3. The computer system ofclaim 1, wherein the program instructions further include: seventhprogram instructions programmed to input the command as a text stringthrough a single view area from among a plurality of single view areas;and eighth program instructions programmed to feed the text stringthrough the single view area to a corresponding computer of the set ofcomputers having the pre-defined output portion displayed in the singleview area.
 4. The computer system of claim 1, wherein at least acomputer of the set of computers is a virtual machine.
 5. The computersystem of claim 1, wherein the program instructions further include:seventh program instructions programmed to emphasize the overlaidcharacter strings if the similarity score assigned to one characterstring is different from the similarity score assigned to each othercharacter string.
 6. A computer program product comprising anon-transitory computer readable storage medium having stored thereon:first program instructions programmed to receive a command, theprocessing of the command generating a character string; second programinstructions programmed to issue to each computer in a set of computersthe command for independent processing of the command by each computer;third program instructions programmed to receive, from the set ofcomputers, a set of character strings responsive to the command; fourthprogram instructions programmed to assign a similarity score to eachcharacter string, the similarity score representing a relativesimilarity of the character strings in the set of character strings,each similarity score being determined by: comparing a scoring characterstring to each other character string in the set of character strings,wherein the scoring character string and the other character string aregenerated responsive to the command; and incrementing in a uniformmanner the similarity score for the scoring character string for eachother character string that is different than the scoring characterstring; fifth program instructions programmed to generate a firstdisplay of the first command and identifiers of the set of computers,the display including the assigned similarity scores of each characterstring received from the set of computers; and sixth programinstructions programmed to generate a second display by overlaying eachcharacter string in the set of character strings.
 7. The computerprogram product of claim 6, wherein the one computer of the set ofcomputers is a virtual machine.
 8. The computer program product of claim6, wherein the program instructions further include: seventh programinstructions programmed to input the command as a text string through anoverall view area; and eighth program instructions programmed to feedthe text string to each computer in the set of computers.
 9. Thecomputer program product of claim 6, wherein the program instructionsfurther include: seventh program instructions programmed to input thecommand as a text string through a single view area from among aplurality of single view areas; and eighth program instructionsprogrammed to feed the text string through the single view area to acorresponding computer of the set of computers having the pre-definedoutput portion displayed in the single view area.
 10. The computerprogram product of claim 6, wherein the program instructions furtherinclude: seventh program instructions programmed to emphasize theoverlaid character strings if the similarity score assigned to onecharacter string is different from the similarity score assigned to eachother character string.